home *** CD-ROM | disk | FTP | other *** search
/ IRIX Base Documentation 2002 November / SGI IRIX Base Documentation 2002 November.iso / usr / share / catman / p_man / cat3 / SCSL / ctgevc.z / ctgevc
Encoding:
Text File  |  2002-10-03  |  7.2 KB  |  199 lines

  1.  
  2.  
  3.  
  4. CCCCTTTTGGGGEEEEVVVVCCCC((((3333SSSS))))                                                          CCCCTTTTGGGGEEEEVVVVCCCC((((3333SSSS))))
  5.  
  6.  
  7.  
  8. NNNNAAAAMMMMEEEE
  9.      CTGEVC - compute some or all of the right and/or left generalized
  10.      eigenvectors of a pair of complex upper triangular matrices (A,B)
  11.  
  12. SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
  13.      SUBROUTINE CTGEVC( SIDE, HOWMNY, SELECT, N, A, LDA, B, LDB, VL, LDVL, VR,
  14.                         LDVR, MM, M, WORK, RWORK, INFO )
  15.  
  16.          CHARACTER      HOWMNY, SIDE
  17.  
  18.          INTEGER        INFO, LDA, LDB, LDVL, LDVR, M, MM, N
  19.  
  20.          LOGICAL        SELECT( * )
  21.  
  22.          REAL           RWORK( * )
  23.  
  24.          COMPLEX        A( LDA, * ), B( LDB, * ), VL( LDVL, * ), VR( LDVR, *
  25.                         ), WORK( * )
  26.  
  27. IIIIMMMMPPPPLLLLEEEEMMMMEEEENNNNTTTTAAAATTTTIIIIOOOONNNN
  28.      These routines are part of the SCSL Scientific Library and can be loaded
  29.      using either the -lscs or the -lscs_mp option.  The -lscs_mp option
  30.      directs the linker to use the multi-processor version of the library.
  31.  
  32.      When linking to SCSL with -lscs or -lscs_mp, the default integer size is
  33.      4 bytes (32 bits). Another version of SCSL is available in which integers
  34.      are 8 bytes (64 bits).  This version allows the user access to larger
  35.      memory sizes and helps when porting legacy Cray codes.  It can be loaded
  36.      by using the -lscs_i8 option or the -lscs_i8_mp option. A program may use
  37.      only one of the two versions; 4-byte integer and 8-byte integer library
  38.      calls cannot be mixed.
  39.  
  40. PPPPUUUURRRRPPPPOOOOSSSSEEEE
  41.      CTGEVC computes some or all of the right and/or left generalized
  42.      eigenvectors of a pair of complex upper triangular matrices (A,B). The
  43.      right generalized eigenvector x and the left generalized eigenvector y of
  44.      (A,B) corresponding to a generalized eigenvalue w are defined by:
  45.  
  46.              (A - wB) * x = 0  and  y**H * (A - wB) = 0
  47.  
  48.      where y**H denotes the conjugate tranpose of y.
  49.  
  50.      If an eigenvalue w is determined by zero diagonal elements of both A and
  51.      B, a unit vector is returned as the corresponding eigenvector.
  52.  
  53.      If all eigenvectors are requested, the routine may either return the
  54.      matrices X and/or Y of right or left eigenvectors of (A,B), or the
  55.      products Z*X and/or Q*Y, where Z and Q are input unitary matrices.  If
  56.      (A,B) was obtained from the generalized Schur factorization of an
  57.      original pair of matrices
  58.         (A0,B0) = (Q*A*Z**H,Q*B*Z**H),
  59.      then Z*X and Q*Y are the matrices of right or left eigenvectors of A.
  60.  
  61.  
  62.  
  63.                                                                         PPPPaaaaggggeeee 1111
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70. CCCCTTTTGGGGEEEEVVVVCCCC((((3333SSSS))))                                                          CCCCTTTTGGGGEEEEVVVVCCCC((((3333SSSS))))
  71.  
  72.  
  73.  
  74. AAAARRRRGGGGUUUUMMMMEEEENNNNTTTTSSSS
  75.      SIDE    (input) CHARACTER*1
  76.              = 'R': compute right eigenvectors only;
  77.              = 'L': compute left eigenvectors only;
  78.              = 'B': compute both right and left eigenvectors.
  79.  
  80.      HOWMNY  (input) CHARACTER*1
  81.              = 'A': compute all right and/or left eigenvectors;
  82.              = 'B': compute all right and/or left eigenvectors, and
  83.              backtransform them using the input matrices supplied in VR and/or
  84.              VL; = 'S': compute selected right and/or left eigenvectors,
  85.              specified by the logical array SELECT.
  86.  
  87.      SELECT  (input) LOGICAL array, dimension (N)
  88.              If HOWMNY='S', SELECT specifies the eigenvectors to be computed.
  89.              If HOWMNY='A' or 'B', SELECT is not referenced.  To select the
  90.              eigenvector corresponding to the j-th eigenvalue, SELECT(j) must
  91.              be set to .TRUE..
  92.  
  93.      N       (input) INTEGER
  94.              The order of the matrices A and B.  N >= 0.
  95.  
  96.      A       (input) COMPLEX array, dimension (LDA,N)
  97.              The upper triangular matrix A.
  98.  
  99.      LDA     (input) INTEGER
  100.              The leading dimension of array A.  LDA >= max(1,N).
  101.  
  102.      B       (input) COMPLEX array, dimension (LDB,N)
  103.              The upper triangular matrix B.  B must have real diagonal
  104.              elements.
  105.  
  106.      LDB     (input) INTEGER
  107.              The leading dimension of array B.  LDB >= max(1,N).
  108.  
  109.      VL      (input/output) COMPLEX array, dimension (LDVL,MM)
  110.              On entry, if SIDE = 'L' or 'B' and HOWMNY = 'B', VL must contain
  111.              an N-by-N matrix Q (usually the unitary matrix Q of left Schur
  112.              vectors returned by CHGEQZ).  On exit, if SIDE = 'L' or 'B', VL
  113.              contains:  if HOWMNY = 'A', the matrix Y of left eigenvectors of
  114.              (A,B); if HOWMNY = 'B', the matrix Q*Y; if HOWMNY = 'S', the left
  115.              eigenvectors of (A,B) specified by SELECT, stored consecutively
  116.              in the columns of VL, in the same order as their eigenvalues.  If
  117.              SIDE = 'R', VL is not referenced.
  118.  
  119.      LDVL    (input) INTEGER
  120.              The leading dimension of array VL.  LDVL >= max(1,N) if SIDE =
  121.              'L' or 'B'; LDVL >= 1 otherwise.
  122.  
  123.      VR      (input/output) COMPLEX array, dimension (LDVR,MM)
  124.              On entry, if SIDE = 'R' or 'B' and HOWMNY = 'B', VR must contain
  125.              an N-by-N matrix Q (usually the unitary matrix Z of right Schur
  126.  
  127.  
  128.  
  129.                                                                         PPPPaaaaggggeeee 2222
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136. CCCCTTTTGGGGEEEEVVVVCCCC((((3333SSSS))))                                                          CCCCTTTTGGGGEEEEVVVVCCCC((((3333SSSS))))
  137.  
  138.  
  139.  
  140.              vectors returned by CHGEQZ).  On exit, if SIDE = 'R' or 'B', VR
  141.              contains:  if HOWMNY = 'A', the matrix X of right eigenvectors of
  142.              (A,B); if HOWMNY = 'B', the matrix Z*X; if HOWMNY = 'S', the
  143.              right eigenvectors of (A,B) specified by SELECT, stored
  144.              consecutively in the columns of VR, in the same order as their
  145.              eigenvalues.  If SIDE = 'L', VR is not referenced.
  146.  
  147.      LDVR    (input) INTEGER
  148.              The leading dimension of the array VR.  LDVR >= max(1,N) if SIDE
  149.              = 'R' or 'B'; LDVR >= 1 otherwise.
  150.  
  151.      MM      (input) INTEGER
  152.              The number of columns in the arrays VL and/or VR. MM >= M.
  153.  
  154.      M       (output) INTEGER
  155.              The number of columns in the arrays VL and/or VR actually used to
  156.              store the eigenvectors.  If HOWMNY = 'A' or 'B', M is set to N.
  157.              Each selected eigenvector occupies one column.
  158.  
  159.      WORK    (workspace) COMPLEX array, dimension (2*N)
  160.  
  161.      RWORK   (workspace) REAL array, dimension (2*N)
  162.  
  163.      INFO    (output) INTEGER
  164.              = 0:  successful exit.
  165.              < 0:  if INFO = -i, the i-th argument had an illegal value.
  166.  
  167. SSSSEEEEEEEE AAAALLLLSSSSOOOO
  168.      INTRO_LAPACK(3S), INTRO_SCSL(3S)
  169.  
  170.      This man page is available only online.
  171.  
  172.  
  173.  
  174.  
  175.  
  176.  
  177.  
  178.  
  179.  
  180.  
  181.  
  182.  
  183.  
  184.  
  185.  
  186.  
  187.  
  188.  
  189.  
  190.  
  191.  
  192.  
  193.  
  194.  
  195.                                                                         PPPPaaaaggggeeee 3333
  196.  
  197.  
  198.  
  199.